<?php
namespace app\mingteng\model;

use think\Model;

class Goods extends Model {
   
    /**
     * 后置操作方法
     * 自定义的一个函数 用于数据保存后做的相应处理操作, 使用时手动调用
     * @param int $goods_id 商品id
     */
    public function afterSave($goods_id)
    {            
         // 商品货号
         $goods_sn = "QX".str_pad($goods_id,7,"0",STR_PAD_LEFT);
         $this->where("goods_id = $goods_id and goods_sn = ''")->save(array("goods_sn"=>$goods_sn)); // 根据条件更新记录

         delFile(UPLOAD_PATH."goods/thumb/$goods_id"); // 删除缩略图
         
         // 商品规格价钱处理        
         M("SpecGoodsPrice")->where('goods_id = '.$goods_id)->delete(); // 删除原有的价格规格对象         
         if($item = I('item/a'))
         {
             $spec = M('Spec')->getField('id,name'); // 规格表
             $specItem = M('SpecItem')->getField('id,item');//规格项
                          
             foreach($item as $k => $v)
             {
                   // 批量添加数据
                   $v['price'] = trim($v['price']);
                   $dataList[] = [
                       'goods_id'=>$goods_id,
                       'key'=>$k,
                       'key_name'=>$v['key_name'],
                       'price'=>$v['price'],
                       'store_count'=>trim($v['store_count'])
                   ];
                    // 修改商品后购物车的商品价格也修改一下
                    M('cart')->where("goods_id = $goods_id and spec_key = '$k'")->save(array(
                            'goods_price'=>$v['price'], // 本店价
                            ));
             }            
             M("SpecGoodsPrice")->insertAll($dataList);
             
         }   
         
         // 商品规格图片处理
         if($item_img = I('item_img/a'))
         {    
             M('SpecImage')->where("goods_id = $goods_id")->delete(); // 把原来是删除再重新插入
             foreach ($item_img as $key => $val)
             {                 
                 M('SpecImage')->insert(array('goods_id'=>$goods_id ,'spec_image_id'=>$key,'src'=>$val));
             }                                                    
         }
         refresh_stock($goods_id); // 刷新商品库存
    }
}
